//
//  MYStatusCellTableViewCell.m
//  奇闻
//
//  Created by 似水灵修 on 14-11-28.
//  Copyright (c) 2014年 MingYueGuCheng. All rights reserved.
//

#import "MYStatusCellTableViewCell.h"
#import "MYOriginalView.h"
#import "MYRetweetView.h"
#import "MYStatusToolBar.h"
#import "MYStatusCellTableViewCellFrame.h"

@interface MYStatusCellTableViewCell ()
/**
 *  原创奇闻
 */
@property (nonatomic, weak) MYOriginalView *originalView;
/**
 *  转发奇闻
 */
@property (nonatomic, weak) MYRetweetView *retweetView;
/**
 *  工具条
 */
@property (nonatomic, weak) MYStatusToolBar *statusToolBar;
@end
@implementation MYStatusCellTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        //添加所有子控件
        [self setupAllChildView];
        self.backgroundColor = [UIColor clearColor];
    }
    return self;
}
+ (instancetype)statusCellTableView:(UITableView *)tableView
{
    static NSString * const ID = @"Cell";
    MYStatusCellTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    if (!cell) {
        cell = [[MYStatusCellTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
    }
    return cell;
}
//添加所有子控件
- (void)setupAllChildView
{
    //原创奇闻
    MYOriginalView *OriginalView = [[MYOriginalView alloc] init];
    [self addSubview:OriginalView];
    self.originalView = OriginalView;
    //转发奇闻
    MYRetweetView *retweetView = [[MYRetweetView alloc] init];
    [self addSubview:retweetView];
    self.retweetView = retweetView;
    //工具条
    MYStatusToolBar *statusToolBar = [[MYStatusToolBar alloc] init];
    [self addSubview:statusToolBar];
    self.statusToolBar = statusToolBar;
}
- (void)setStatusF:(MYStatusCellTableViewCellFrame *)statusF
{
    _statusF = statusF;
    //设置所有子控件的frame
    //设置原创奇闻的frame
    _originalView.frame = statusF.originalViewF;
    // 传递VM模型给originalView,statusF包含了originalView内部所有子控件的frame和内容
    _originalView.statusF = statusF;
    //设置转发奇闻的frame
    _retweetView.frame = statusF.retweetViewF;
    _retweetView.statusF = statusF;
    //设置工具条的frame
    _statusToolBar.frame = statusF.statusToolBarF;
    _statusToolBar.status = statusF.status;
}
// 只要父视图的frame一改变就会调用
// 只要有循环利用的控件,而且cell里面的内部控件非常多,都不适用这个方法调整子控件的位置
//- (void)layoutSubviews
//{
//    [super layoutSubviews];
//    // 把所有子控件的frame算一遍,每次算非常消耗性能
//}
@end
